Computer databases take a variety of forms and allow various users to query data in numerous manners. For example, a typical business may have a data that tracks information about sales and customers, including contact information for each customer, profile information about each customer (e.g., geographic area where the customer is located, whether the customer is an organization or an individual, etc.), data about particular products that were sold, quantities sold, times of the sales, and the like. One simple way to store such data is in the form of a multi-dimensional table, such as a spreadsheet.
To increase flexibility in storing data, a relational database may be employed. Such a form of database relates data across multiple different tables. For example, one table may relate customer numbers to particular characteristics of each customer (e.g., name, address, password for a web site, etc.). Another table may relate transaction numbers to certain parameters, including the customer number of the customer that took part in the transaction. Thus, the information about a particular customer need not be stored for each transaction, as the customer number can be used in any given transaction to locate the related customer information quickly.
For complex data analysis, it is common to use an online analytic processing (OLAP) data cube, which is a data structure that permits fast analysis of data. The cube can be thought of as an extension of a two-dimensional spreadsheet into three or more dimensions, made up of numeric facts known as “measures” that are categorized by “dimensions.” For example, a cube could be established for a sales organization, whose dimensions are products sold (listed, e.g., by product number), time at which the sales were made (listed, e.g., by month or quarter or day), and geographic region into which the sale was made (listed, e.g., by state or zip code). Such OLAP techniques are commonly used for business intelligence and data mining applications. While such techniques are powerful, however, they can often be complex—too complex for workers who are not trained in database technologies.